[t:/]$ 지식_

svn 복습

2011/01/04

아토믹 커밋
빠름
커밋별 통 리비전

SVN_EDITOR=/usr/bin/vim
exprot SVN_EDITOR

trunk    // 주 작업 디렉토리

branches  // 복사해서 만든 마이너 버전 마일스톤. 자기 폴더는 걍 여기 따는게 상책
tags // 릴리즈 스냅샷

svn mkdir http://…../svn/test/trunk

svn import 디렉토리 트렁크주소
svn co 트렁크주소 내디렉토리   // 사실은 트렁크만 받지 말고 통으로 받자.
svn update
svn update -r 3 dd.c
svn commit
svn commit -m “아 샹 뭐 이리 넣으라는게 많냐”
svn  log
svn log -r 4:1 
svn log -r 4:1 -v

svn log –stop-on-copy // 카피가 일어난 지점까지만 로깅, 즉 카피가 일어난 시점의 리비전 확인
svn diff 
svn diff -r 4 dd.c
svn diff -r 4:3 dd.c
svn blame
svn blame dd.c
svn blame -r 4 dd.c
svn lock dd.c
svn add dd.c  // 커밋 필요
svn rename dd.c aa.c  // 커밋 필요
svn export 트렁크주소 내디렉토리
svn copy trunk branches/새브랜치이름  // 커밋 필요  서버안에서 싼 카피 cheap copy
svn merge -r 4:5 브랜치주소  // 브랜치의 것을 받아와서 로컬 (트렁크)과 병합, 커밋하면 병합된 것이 트렁크에 올라가겠지?
// 브랜치에서 수정하여 커밋(버전 5), 로컬 트렁크는 여전히 버전 4

// 트렁크 체크아웃 후 로컬 트렁크 안에서 머지를 때리면 트렁크 안의 버전 4에 브랜치의 버전 5가 머지됨
// 다시 트렁크 체크아웃하면 트렁크는 머지된 버전 5가 올라감

svn log –stop-on-copy   –> 브랜치 딴 버전 확인

svn merge -r 4:HEAD –> 브랜치에서 작업한 내역 커밋하면 그 버전은 최신버전인 HEAD가 됨. 카피 딴 버전인 리비전 4에 브랜치를 병합함
svn merge –dry-run 트렁크주소 브랜치주소  // 드라이런은 그냥 시도만 함
svn resolved  // 충돌 해결한 후에만.

// 브랜치 작업이 종결되면 트렁크에 병합 후 새로 브랜치 떠서 작업할 것. 브랜치 발생한 리비전을 파악하기 쉽게 하기 위함.

svn copy trunk tags/0.1   
// 0.1 릴리즈. 태그 안에서는 작업하지 마요.. 
// 0.1 릴리즈 후 마이너 버그 발견했다면 트렁크에서 0.1.1로 브랜치 한 후
// 0.1.1 안에서 디버깅 한 다음
// 트렁크에 병합하고 
// 태그의 0.1.1로 카피 떠서 릴리즈

svn export 태그 주소
// export 는 태그만 받아요.. 제발.. 트렁크 퍼가지 마요..

svnadmin dump 저장소 > ddd
svnadmin load 저장소 < ddd
svnsync 는 그 때 그 때 찾아서 설정해 놓고 잊으삼

svn delete 브랜치주소
svn copy -r 4 브랜치 

svn co -r 3 …

http://www.pyrasis.com/main/Subversion-HOWTO http://binggrec.tistory.com/104

머지 할 땐
http://wiki.kldp.org/wiki.php/SubversionBook/BranchingAndMerging





공유하기













[t:/] is not "technology - root". dawnsea, rss